package com.aspose.cells;

class zfd {
   public static zagu a(zaay var0, zahn var1, zahn var2, zahj var3) {
      zagu var4;
      zagu var5;
      zagu var6;
      if (var1.l()) {
         var4 = var1.a(0, 0);
         if (var4.b() == 3) {
            var5 = var2.a(0, 0);
            if (var5.b() == 3) {
               var6 = var3.a(((zyy)var4).k(), ((zyy)var5).k());
               return var6 != null && var6.b() == 0 ? var6 : var3.a();
            } else if (var5.b() == 0) {
               return var5;
            } else {
               return (zagu)(a(var2) ? zzg.a : var3.b());
            }
         } else if (var4.b() == 0) {
            return var4;
         } else {
            var5 = var2.a(0, 0);
            if (var5.b() == 0) {
               return var5;
            } else {
               return (zagu)(!a(var1) && (var5.b() == 3 || !a(var2)) ? var3.b() : zzg.a);
            }
         }
      } else {
         boolean var7 = true;
         boolean var8 = true;
         boolean var9 = true;
         boolean var10 = true;
         boolean var11 = true;
         boolean var12 = false;
         boolean var13 = false;
         double var14 = 0.0D;
         double var16 = 0.0D;
         int var20 = 0;
         boolean var21 = false;
         var1.f();
         var2.f();
         int var18;
         if (var1.g()) {
            var18 = var1.k();
         } else {
            var18 = var1.e();
            var21 = true;
         }

         int var19;
         if (var2.g()) {
            var19 = var2.k();
         } else {
            var19 = var2.e();
            var21 = true;
         }

         while(true) {
            if (var18 > var20) {
               if (var10) {
                  var10 = false;
                  var4 = var1.o();
                  if (var4.b() == 3) {
                     var7 = false;
                     var12 = true;
                     var14 = ((zyy)var4).k();
                  } else {
                     if (var4.b() == 0) {
                        return var4;
                     }

                     var9 = false;
                  }
               }

               if (var19 > var20) {
                  if (var11) {
                     var11 = false;
                     var5 = var2.o();
                     if (var5.b() == 3) {
                        var8 = false;
                        var13 = true;
                        var16 = ((zyy)var5).k();
                     } else {
                        if (var5.b() == 0) {
                           return var5;
                        }

                        var9 = false;
                     }
                  }

                  if (var19 == var18) {
                     if (var9) {
                        var6 = var3.a(var14, var16, var18 - var20);
                        if (var6 != null) {
                           if (var6 == zzk.a) {
                              var9 = false;
                           } else if (var6.b() == 0) {
                              return var6;
                           }
                        }
                     }

                     if (var21) {
                        break;
                     }

                     var4 = var1.h();
                     if (var4.b() == 3) {
                        var7 = false;
                        var5 = var2.h();
                        if (var5.b() == 3) {
                           var8 = false;
                           var6 = var3.a(((zyy)var4).k(), ((zyy)var5).k());
                           if (var6 != null && var6.b() == 0) {
                              return var6;
                           }
                        } else if (var5.b() == 0) {
                           return var5;
                        }
                     } else {
                        if (var4.b() == 0) {
                           return var4;
                        }

                        var5 = var2.h();
                        if (var5.b() == 0) {
                           return var5;
                        }
                     }

                     var20 = var18 + 1;
                     if (var1.g()) {
                        var18 = var1.k();
                     } else {
                        var21 = true;
                        var18 = var1.e();
                        if (var18 == var20) {
                           break;
                        }
                     }

                     if (var2.g()) {
                        var19 = var2.k();
                     } else {
                        var21 = true;
                        var19 = var2.e();
                     }
                  } else if (var19 > var18) {
                     if (var9) {
                        var6 = var3.a(var14, var16, var18 - var20);
                        if (var6 != null) {
                           if (var6 == zzk.a) {
                              var9 = false;
                           } else if (var6.b() == 0) {
                              return var6;
                           }
                        }
                     }

                     var4 = var1.h();
                     if (var4.b() == 3) {
                        var7 = false;
                        if (var13) {
                           var6 = var3.a(((zyy)var4).k(), var16);
                           if (var6 != null && var6.b() == 0) {
                              return var6;
                           }
                        }
                     } else if (var4.b() == 0) {
                        return var4;
                     }

                     var20 = var18 + 1;
                     if (var1.g()) {
                        var18 = var1.k();
                     } else {
                        var21 = true;
                        var18 = var1.e();
                        if (var18 == var20) {
                           break;
                        }
                     }
                  } else {
                     if (var9) {
                        var6 = var3.a(var14, var16, var19 - var20);
                        if (var6 != null) {
                           if (var6 == zzk.a) {
                              var9 = false;
                           } else if (var6.b() == 0) {
                              return var6;
                           }
                        }
                     }

                     var5 = var2.h();
                     if (var5.b() == 3) {
                        var8 = false;
                        if (var12) {
                           var6 = var3.a(var14, ((zyy)var5).k());
                           if (var6 != null && var6.b() == 0) {
                              return var6;
                           }
                        }
                     } else if (var5.b() == 0) {
                        return var5;
                     }

                     var20 = var19 + 1;
                     if (var2.g()) {
                        var19 = var2.k();
                     } else {
                        var21 = true;
                        var19 = var2.e();
                        if (var19 == var20) {
                           break;
                        }
                     }
                  }
               } else {
                  var5 = var2.h();
                  if (var5.b() == 3) {
                     var8 = false;
                     if (var12) {
                        var6 = var3.a(var14, ((zyy)var5).k());
                        if (var6 != null && var6.b() == 0) {
                           return var6;
                        }
                     }
                  } else if (var5.b() == 0) {
                     return var5;
                  }

                  var20 = var19 + 1;
                  if (var2.g()) {
                     var19 = var2.k();
                  } else {
                     var21 = true;
                     var19 = var2.e();
                     if (var19 == var20) {
                        break;
                     }
                  }
               }
            } else if (var19 > var20) {
               var4 = var1.h();
               if (var4.b() == 3) {
                  var7 = false;
                  if (var11) {
                     var11 = false;
                     var5 = var2.o();
                     if (var5.b() == 3) {
                        var8 = false;
                        var13 = true;
                        var16 = ((zyy)var5).k();
                     } else {
                        if (var5.b() == 0) {
                           return var5;
                        }

                        var9 = false;
                     }
                  }

                  if (var13) {
                     var6 = var3.a(((zyy)var4).k(), var16);
                     if (var6 != null && var6.b() == 0) {
                        return var6;
                     }
                  }
               } else {
                  if (var4.b() == 0) {
                     return var4;
                  }

                  if (var11) {
                     var11 = false;
                     var5 = var2.o();
                     if (var5.b() == 3) {
                        var8 = false;
                        var13 = true;
                        var16 = ((zyy)var5).k();
                     } else {
                        if (var5.b() == 0) {
                           return var5;
                        }

                        var9 = false;
                     }
                  }
               }

               var20 = var18 + 1;
               if (var1.g()) {
                  var18 = var1.k();
               } else {
                  var21 = true;
                  var18 = var1.e();
                  if (var18 == var20) {
                     break;
                  }
               }
            } else {
               var4 = var1.h();
               if (var4.b() == 3) {
                  var7 = false;
                  var5 = var2.h();
                  if (var5.b() == 3) {
                     var8 = false;
                     var6 = var3.a(((zyy)var4).k(), ((zyy)var5).k());
                     if (var6 != null && var6.b() == 0) {
                        return var6;
                     }
                  } else if (var5.b() == 0) {
                     return var5;
                  }
               } else {
                  if (var4.b() == 0) {
                     return var4;
                  }

                  var5 = var2.h();
                  if (var5.b() == 3) {
                     var8 = false;
                  } else if (var5.b() == 0) {
                     return var5;
                  }
               }

               var20 = var18 + 1;
               if (var1.g()) {
                  var18 = var1.k();
               } else {
                  var21 = true;
                  var18 = var1.e();
                  if (var18 == var20) {
                     break;
                  }
               }

               if (var2.g()) {
                  var19 = var2.k();
               } else {
                  var21 = true;
                  var19 = var2.e();
               }
            }
         }

         if (!var7) {
            if (var8) {
               return (zagu)(a(var2) ? zzg.a : var3.b());
            } else {
               return var3.a();
            }
         } else {
            return (zagu)(!a(var1) && (!var8 || !a(var2)) ? var3.b() : zzg.a);
         }
      }
   }

   private static boolean a(zahn var0) {
      return var0.l() && var0.b() != 6;
   }

   private static zagu a(zahn var0, zaay var1) {
      if (var0.l() && var0.b() != 6) {
         zagu var2 = var0.a(0, 0).e(var1);
         if (var2.b() == 3) {
            return null;
         } else {
            return (zagu)(var2.b() == 0 ? var2 : zzg.a);
         }
      } else {
         return null;
      }
   }

   public static zagu a(zahn var0, zahn var1, zaay var2) {
      if (var0.e() != var1.e()) {
         return zzb.a;
      } else {
         boolean var3 = false;
         int var5;
         if (var0.c() > 1) {
            if (var0.d() > 1) {
               var5 = (var0.c() - 1) * (var0.d() - 1);
            } else {
               var5 = var0.c() - 1;
            }
         } else {
            if (var0.d() <= 1) {
               zagu var4 = a(var0, var2);
               if (var4 != null) {
                  return var4;
               }

               var4 = a(var1, var2);
               if (var4 != null) {
                  return var4;
               }

               return zzb.a;
            }

            var5 = var0.d() - 1;
         }

         return a(var2, var0, var1, new zasx(var5));
      }
   }

   public static zagu a(zahn var0, zahn var1, zahn var2, zaay var3, boolean var4, boolean var5, boolean var6) {
      if (var0 == null) {
         return zzg.a;
      } else {
         if (var1 != null) {
            if (var1.l() && var1.a(0, 0) == zzk.a) {
               var1 = null;
            } else if (var2 != null) {
               if (var0.n()) {
                  if (!var1.n() && var1.d() != var2.d()) {
                     return zzf.a;
                  }
               } else if (var0.m() && !var1.m() && var1.c() != var2.c()) {
                  return zzf.a;
               }
            } else {
               var2 = var1;
            }
         }

         zagu var7 = a(var0, var1, var3, var4, false, var5);
         if (var7.b() == 0) {
            return var7;
         } else {
            zagu[] var8 = ((zys)var7).a(0);
            int var18;
            zyz var20;
            double var21;
            int var32;
            if (var8.length == 2) {
               var21 = ((zyy)var8[0]).k();
               double var25 = ((zyy)var8[1]).k();
               int var15;
               int var28;
               if (var2 != null) {
                  var7 = var2.a(0, 0).e(var3);
                  if (var7.b() == 0) {
                     return var7;
                  } else if (var7.b() != 3) {
                     return zzg.a;
                  } else if (!var6) {
                     return new zyy(var5 ? Math.pow(var21, ((zyy)var7).k()) * var25 : var21 * ((zyy)var7).k() + var25);
                  } else {
                     double[][] var27 = new double[var2.c()][];
                     var28 = var2.d();

                     for(var15 = 0; var15 < var27.length; ++var15) {
                        var27[var15] = new double[var28];
                     }

                     var2.f();
                     var20 = zaaq.a(var2, var27, var3, 0 | (zsk.b(zst.i) & 255) << 4 | 12288);
                     if (var20 != null) {
                        return var20;
                     } else {
                        zagu[][] var30 = new zagu[var27.length][];

                        for(var32 = 0; var32 < var30.length; ++var32) {
                           double[] var33 = var27[var32];
                           var8 = new zagu[var33.length];
                           var30[var32] = var8;

                           for(var18 = 0; var18 < var33.length; ++var18) {
                              var8[var18] = new zyy(var5 ? Math.pow(var21, var33[var18]) * var25 : var21 * var33[var18] + var25);
                           }
                        }

                        return new zyt(var30);
                     }
                  }
               } else {
                  zagu[][] var26 = new zagu[var0.c()][];
                  var28 = var0.d();
                  var15 = 1;

                  for(int var31 = 0; var31 < var26.length; ++var31) {
                     var8 = new zagu[var28];
                     var26[var31] = var8;

                     for(var32 = 0; var32 < var8.length; ++var32) {
                        var8[var32] = new zyy(var5 ? Math.pow(var21, (double)var15) * var25 : var21 * (double)var15 + var25);
                        ++var15;
                     }
                  }

                  return new zyt(var26);
               }
            } else {
               int var12;
               if (!var6) {
                  var21 = ((zyy)var8[var8.length - 1]).k();
                  boolean var23;
                  if (var0.m()) {
                     var23 = true;
                     var12 = var2.c();
                  } else {
                     var23 = false;
                     var12 = var2.d();
                  }

                  for(int var13 = 0; var13 < var12; ++var13) {
                     var7 = (var23 ? var2.a(var13, 0) : var2.a(0, var13)).e(var3);
                     if (var7.b() == 0) {
                        return var7;
                     }

                     if (var7.b() != 3) {
                        return zzg.a;
                     }

                     if (var5) {
                        var21 *= Math.pow(((zyy)var8[var8.length - 2 - var13]).k(), ((zyy)var7).k());
                     } else {
                        var21 += ((zyy)var8[var8.length - 2 - var13]).k() * ((zyy)var7).k();
                     }
                  }

                  return new zyy(var21);
               } else {
                  double[][] var9 = new double[var2.c()][];
                  int var10 = var2.d();

                  for(int var11 = 0; var11 < var9.length; ++var11) {
                     var9[var11] = new double[var10];
                  }

                  var2.f();
                  var20 = zaaq.a(var2, var9, var3, 0 | (zsk.b(zst.i) & 255) << 4 | 12288);
                  if (var20 != null) {
                     return var20;
                  } else {
                     double[] var22 = new double[var8.length - 1];

                     for(var12 = 0; var12 < var8.length - 1; ++var12) {
                        var22[var12] = ((zyy)var8[var8.length - 2 - var12]).k();
                     }

                     double var24 = ((zyy)var8[var8.length - 1]).k();
                     double var14;
                     if (var0.m()) {
                        zagu[] var29 = new zagu[var10];

                        for(var32 = 0; var32 < var10; ++var32) {
                           var14 = var24;
                           if (var5) {
                              for(var18 = 0; var18 < var9.length; ++var18) {
                                 var14 *= Math.pow(var22[var18], var9[var18][var32]);
                              }
                           } else {
                              for(var18 = 0; var18 < var9.length; ++var18) {
                                 var14 += var22[var18] * var9[var18][var32];
                              }
                           }

                           var29[var32] = new zyy(var14);
                        }

                        return new zyt(new zagu[][]{var29});
                     } else {
                        zagu[][] var16 = new zagu[var9.length][];

                        for(var18 = 0; var18 < var16.length; ++var18) {
                           double[] var17 = var9[var18];
                           var14 = var24;
                           int var19;
                           if (var5) {
                              for(var19 = 0; var19 < var17.length; ++var19) {
                                 var14 *= Math.pow(var22[var19], var17[var19]);
                              }
                           } else {
                              for(var19 = 0; var19 < var17.length; ++var19) {
                                 var14 += var22[var19] * var17[var19];
                              }
                           }

                           var16[var18] = new zagu[]{new zyy(var14)};
                        }

                        return new zyt(var16);
                     }
                  }
               }
            }
         }
      }
   }

   public static zagu a(zahn var0, zahn var1, zaay var2, boolean var3, boolean var4, boolean var5) {
      int var6 = var0.c();
      double[] var7;
      double[][] var8;
      zagu var9;
      int var11;
      zyz var12;
      zagu[] var13;
      int var14;
      if (var6 > 1) {
         if (var1 != null) {
            if (var1.c() != var6) {
               return zzf.a;
            }

            if (var0.d() > 1) {
               if (var1.d() != var0.d()) {
                  return zzf.a;
               }

               var6 *= var0.d();
               var7 = new double[var6];
               var0.f();
               var9 = zaaq.a(var0, var7, var2, 0 | (zsk.b(zst.i) & 255) << 4 | 12288);
               if (var9.b() == 0) {
                  return var9;
               }

               double[] var10 = new double[var6];
               var1.f();
               var9 = zaaq.a(var1, var10, var2, 0 | (zsk.b(zst.i) & 255) << 4 | 12288);
               if (var9.b() == 0) {
                  return var9;
               }

               var8 = new double[var6][];

               for(var11 = 0; var11 < var6; ++var11) {
                  var8[var11] = new double[]{var10[var11]};
               }

               var13 = null;
            } else {
               var7 = new double[var6];
               var0.f();
               var9 = zaaq.a(var0, var7, var2, 0 | (zsk.b(zst.i) & 255) << 4 | 12288);
               if (var9.b() == 0) {
                  return var9;
               }

               var8 = new double[var6][];
               var14 = var1.d();

               for(var11 = 0; var11 < var6; ++var11) {
                  var8[var11] = new double[var14];
               }

               var1.f();
               var12 = zaaq.a(var1, var8, var2, 0 | (zsk.b(zst.i) & 255) << 4 | 12288);
               if (var12 != null) {
                  return var12;
               }
            }
         } else {
            var7 = new double[var0.e()];
            var0.f();
            var9 = zaaq.a(var0, var7, var2, 0 | (zsk.b(zst.i) & 255) << 4 | 12288);
            if (var9.b() == 0) {
               return var9;
            }

            var8 = new double[var7.length][];

            for(var14 = 0; var14 < var8.length; ++var14) {
               var8[var14] = new double[]{(double)(var14 + 1)};
            }
         }
      } else {
         var6 = var0.d();
         if (var1 != null) {
            if (var1.d() != var6) {
               return zzf.a;
            }

            var7 = new double[var6];
            var0.f();
            var9 = zaaq.a(var0, var7, var2, 0 | (zsk.b(zst.i) & 255) << 4 | 12288);
            if (var9.b() == 0) {
               return var9;
            }

            double[][] var15 = new double[var1.c()][];

            for(var11 = 0; var11 < var15.length; ++var11) {
               var15[var11] = new double[var6];
            }

            var1.f();
            var12 = zaaq.a(var1, var15, var2, 0 | (zsk.b(zst.i) & 255) << 4 | 12288);
            if (var12 != null) {
               return var12;
            }

            var8 = a(var15);
         } else {
            var7 = new double[var6];
            var0.f();
            var9 = zaaq.a(var0, var7, var2, 0 | (zsk.b(zst.i) & 255) << 4 | 12288);
            if (var9.b() == 0) {
               return var9;
            }

            var8 = new double[var6][];

            for(var14 = 0; var14 < var6; ++var14) {
               var8[var14] = new double[]{(double)(var14 + 1)};
            }
         }
      }

      if (var5) {
         for(int var16 = 0; var16 < var7.length; ++var16) {
            if (var7[var16] <= 0.0D) {
               return zze.a;
            }

            var7[var16] = Math.log(var7[var16]);
         }
      }

      if (var7.length == 1) {
         return var5 ? zyy.b : zyy.a;
      } else {
         zagu[][] var17;
         if (var3) {
            var17 = a(var7, var8, var4);
         } else {
            var17 = b(var7, var8, var4);
         }

         if (var5) {
            var13 = var17[0];

            for(var11 = 0; var11 < var13.length; ++var11) {
               if (var13[var11] != null) {
                  var13[var11] = new zyy(Math.exp(((zyy)var13[var11]).k()));
               }
            }
         }

         for(var14 = 0; var14 < var17.length; ++var14) {
            for(var11 = 0; var11 < var17[var14].length; ++var11) {
               if (var17[var14][var11] == null) {
                  var17[var14][var11] = zzb.a;
               }
            }
         }

         return new zyt(var17);
      }
   }

   private static zagu[][] a(double[] var0, double[][] var1, boolean var2) {
      zagu[][] var3 = new zagu[var2 ? 5 : 1][];
      int var4 = var0.length;
      int var5 = var1[0].length;
      double var6 = zbmo.b(var0, 0, var0.length);

      for(int var8 = 0; var8 < var3.length; ++var8) {
         var3[var8] = new zagu[var5 + 1];
      }

      double[] var33 = new double[var5];

      for(int var9 = 0; var9 < var5; ++var9) {
         double var10 = 0.0D;

         for(int var12 = 0; var12 < var4; ++var12) {
            var10 += var1[var12][var9];
         }

         var33[var9] = var10 / (double)var4;
      }

      double[][] var34 = a(var1, var33);
      double[] var35 = a(var1, var33, var0, var6);
      double[] var11 = a(var35, var34);
      double var36 = var6;

      int var14;
      for(var14 = 0; var14 < var33.length; ++var14) {
         var36 -= var11[var14] * var33[var14];
      }

      var3[0][var5] = new zyy(var36);

      for(var14 = 0; var14 < var5; ++var14) {
         var3[0][var14] = new zyy(var11[var5 - var14 - 1]);
      }

      if (!var2) {
         return var3;
      } else {
         double[] var37 = new double[var4];

         for(int var15 = 0; var15 < var4; ++var15) {
            var37[var15] = 0.0D;

            for(int var16 = 0; var16 < var5; ++var16) {
               var37[var15] += var11[var16] * var1[var15][var16];
            }

            var37[var15] += var36;
         }

         double var38 = 0.0D;
         double var17 = 0.0D;

         for(int var19 = 0; var19 < var4; ++var19) {
            var17 += (var0[var19] - var37[var19]) * (var0[var19] - var37[var19]);
            var38 += (var37[var19] - var6) * (var37[var19] - var6);
         }

         double var39 = (double)(var4 - var5 - 1);
         double var21 = var17 / var39;
         double var23 = Math.sqrt(var21);
         var3[2][1] = new zyy(var23);
         double[][] var25 = new double[var1.length][];

         for(int var26 = 0; var26 < var1.length; ++var26) {
            var25[var26] = new double[var1[var26].length + 1];

            for(int var27 = 0; var27 < var1[var26].length + 1; ++var27) {
               if (var27 == 0) {
                  var25[var26][var27] = 1.0D;
               } else {
                  var25[var26][var27] = var1[var26][var27 - 1];
               }
            }
         }

         double[][] var40 = a(var25);
         double[][] var41 = a(var40, var25);
         double[][] var28 = b(var41);
         if (var28 != null) {
            for(int var29 = 0; var29 < var28.length; ++var29) {
               for(int var30 = 0; var30 < var28[var29].length; ++var30) {
                  if (var29 == var30) {
                     double var31 = var28[var29][var30] * var21;
                     var31 = Math.sqrt(var31);
                     var3[1][var28.length - var29 - 1] = new zyy(var31);
                  }
               }
            }
         }

         double var42 = var38 / (double)var5 / var21;
         var3[3][0] = new zyy(var42);
         var3[3][1] = new zyy(var39);
         var3[4][0] = new zyy(var38);
         var3[4][1] = new zyy(var17);
         var3[2][0] = new zyy(var38 / (var38 + var17));
         return var3;
      }
   }

   private static zagu[][] b(double[] var0, double[][] var1, boolean var2) {
      zagu[][] var3 = new zagu[var2 ? 5 : 1][];
      int var4 = var0.length;
      int var5 = var1[0].length;

      for(int var6 = 0; var6 < var3.length; ++var6) {
         var3[var6] = new zagu[var5 + 1];
      }

      double[][] var29 = new double[var5][];

      int var8;
      int var11;
      for(int var7 = 0; var7 < var5; ++var7) {
         var29[var7] = new double[var5];

         for(var8 = 0; var8 < var5; ++var8) {
            double var9 = 0.0D;

            for(var11 = 0; var11 < var4; ++var11) {
               var9 += var1[var11][var8] * var1[var11][var7];
            }

            var29[var7][var8] = var9;
         }
      }

      double[] var30 = new double[var5];

      int var32;
      for(var8 = 0; var8 < var5; ++var8) {
         var30[var8] = 0.0D;

         for(var32 = 0; var32 < var4; ++var32) {
            var30[var8] += var0[var32] * var1[var32][var8];
         }
      }

      double[] var31 = a(var30, var29);
      var3[0][var5] = new zyy(0.0D);

      for(var32 = 0; var32 < var5; ++var32) {
         var3[0][var32] = new zyy(var31[var5 - var32 - 1]);
      }

      if (!var2) {
         return var3;
      } else {
         double[] var34 = new double[var4];

         for(int var10 = 0; var10 < var4; ++var10) {
            var34[var10] = 0.0D;

            for(var11 = 0; var11 < var5; ++var11) {
               var34[var10] += var31[var5] * var1[var10][var11];
            }
         }

         double[] var33 = new double[var5];

         for(var11 = 0; var11 < var5; ++var11) {
            double var12 = 0.0D;

            for(int var14 = 0; var14 < var4; ++var14) {
               var12 += var1[var14][var11];
            }

            var33[var11] = var12 / (double)var4;
         }

         double var35 = 0.0D;
         double var13 = 0.0D;

         for(int var15 = 0; var15 < var4; ++var15) {
            var35 += (var0[var15] - var34[var15]) * (var0[var15] - var34[var15]);
            var13 += var0[var15] * var0[var15];
         }

         double var36 = (double)(var4 - var5);
         double var17 = var35 / var36;
         double var19 = Math.sqrt(var17);
         var3[2][1] = new zyy(var19);
         double[][] var21 = new double[var1.length][];

         for(int var22 = 0; var22 < var1.length; ++var22) {
            var21[var22] = new double[var1[var22].length];

            for(int var23 = 0; var23 < var1[var22].length; ++var23) {
               var21[var22][var23] = var1[var22][var23];
            }
         }

         double[][] var37 = a(var21);
         double[][] var38 = a(var37, var21);
         double[][] var24 = b(var38);
         double var27;
         if (var24 != null) {
            for(int var25 = 0; var25 < var24.length; ++var25) {
               for(int var26 = 0; var26 < var24[var25].length; ++var26) {
                  if (var25 == var26) {
                     var27 = var24[var25][var26] * var17;
                     var27 = Math.sqrt(var27);
                     var3[1][var24.length - var25 - 1] = new zyy(var27);
                  }
               }
            }
         }

         double var39 = var13 - var35;
         var27 = var39 / (double)var5 / var17;
         var3[3][0] = new zyy(var27);
         var3[3][1] = new zyy(var36);
         var3[4][0] = new zyy(var39);
         var3[4][1] = new zyy(var35);
         var3[2][0] = new zyy(var39 / (var39 + var35));
         return var3;
      }
   }

   private static double[][] a(double[][] var0, double[] var1) {
      int var2 = var0.length;
      int var3 = var0[0].length;
      double[][] var4 = new double[var3][];

      for(int var5 = 0; var5 < var3; ++var5) {
         var4[var5] = new double[var3];

         for(int var6 = 0; var6 < var3; ++var6) {
            double var7 = 0.0D;

            for(int var9 = 0; var9 < var2; ++var9) {
               var7 += (var0[var9][var5] - var1[var5]) * (var0[var9][var6] - var1[var6]);
            }

            var4[var5][var6] = var7;
         }
      }

      return var4;
   }

   private static double[] a(double[][] var0, double[] var1, double[] var2, double var3) {
      int var5 = var0.length;
      int var6 = var0[0].length;
      double[] var7 = new double[var6];

      for(int var8 = 0; var8 < var6; ++var8) {
         var7[var8] = 0.0D;

         for(int var9 = 0; var9 < var5; ++var9) {
            var7[var8] += (var0[var9][var8] - var1[var8]) * (var2[var9] - var3);
         }
      }

      return var7;
   }

   private static double[] a(double[] var0, double[][] var1) {
      int var2 = var1[0].length;
      double[][] var3 = new double[var2][];

      for(int var4 = 0; var4 < var2; ++var4) {
         var3[var4] = new double[var2 + 1];

         for(int var5 = 0; var5 < var2; ++var5) {
            var3[var4][var5] = var1[var4][var5];
         }

         var3[var4][var2] = var0[var4];
      }

      double[] var6 = d(var3);
      return var6;
   }

   private static double[] d(double[][] var0) {
      int var1 = var0.length;
      int var2 = var0[0].length;
      double[] var3 = new double[var1];
      boolean var4 = false;

      int var12;
      for(var12 = 0; var12 < var1; ++var12) {
         int var5 = var12;
         double var6 = var0[var12][var12];

         int var8;
         for(var8 = var12; var8 < var1; ++var8) {
            if (Math.abs(var6) < Math.abs(var0[var8][var12])) {
               var6 = var0[var8][var12];
               var5 = var8;
            }
         }

         double var9;
         for(var8 = 0; var8 < var2; ++var8) {
            var9 = var0[var12][var8];
            var0[var12][var8] = var0[var5][var8];
            var0[var5][var8] = var9;
         }

         for(var8 = var12 + 1; var8 < var1; ++var8) {
            if (var0[var8][var12] != 0.0D) {
               var9 = -(var0[var8][var12] / var6);

               for(int var11 = 0; var11 < var2; ++var11) {
                  var0[var8][var11] += var0[var12][var11] * var9;
               }
            }
         }
      }

      for(var12 = var1 - 1; var12 >= 0; --var12) {
         if (Math.abs(var0[var12][var12]) < 5.0E-14D) {
            var3[var12] = 1.0D;
         } else if (var12 == var1 - 1) {
            var3[var12] = var0[var12][var2 - 1] / var0[var12][var12];
         } else {
            double var13 = 0.0D;

            for(int var7 = var12 + 1; var7 < var2 - 1; ++var7) {
               var13 += var0[var12][var7] * var3[var7];
            }

            var3[var12] = (var0[var12][var2 - 1] - var13) / var0[var12][var12];
         }
      }

      return var3;
   }

   public static double[][] a(double[][] var0) {
      if (var0 == null) {
         return (double[][])null;
      } else {
         int var1 = var0.length;
         int var2 = var0[0].length;
         double[][] var3 = new double[var2][];

         int var4;
         for(var4 = 0; var4 < var2; ++var4) {
            var3[var4] = new double[var1];
         }

         for(var4 = 0; var4 < var2; ++var4) {
            for(int var5 = 0; var5 < var1; ++var5) {
               var3[var4][var5] = var0[var5][var4];
            }
         }

         return var3;
      }
   }

   public static double[][] a(double[][] var0, double[][] var1) {
      if (var0 != null && var1 != null) {
         int var2 = var0.length;
         int var3 = var0[0].length;
         int var4 = var1[0].length;
         if (var3 > var1.length) {
            return (double[][])null;
         } else {
            double[][] var5 = new double[var2][];

            int var6;
            for(var6 = 0; var6 < var2; ++var6) {
               var5[var6] = new double[var4];
            }

            for(var6 = 0; var6 < var2; ++var6) {
               for(int var7 = 0; var7 < var4; ++var7) {
                  double var8 = 0.0D;

                  for(int var10 = 0; var10 < var3; ++var10) {
                     var8 += var0[var6][var10] * var1[var10][var7];
                  }

                  var5[var6][var7] = var8;
               }
            }

            return var5;
         }
      } else {
         return (double[][])null;
      }
   }

   public static double[][] b(double[][] var0) {
      double[][] var1 = new double[var0.length][];

      int var2;
      int var3;
      for(var2 = 0; var2 < var1.length; ++var2) {
         var1[var2] = new double[var0[0].length + var0[0].length];

         for(var3 = 0; var3 < var1[var2].length; ++var3) {
            if (var3 < var0[0].length) {
               var1[var2][var3] = var0[var2][var3];
            } else if (var3 == var2 + var0[0].length) {
               var1[var2][var3] = 1.0D;
            }
         }
      }

      var2 = var1.length;
      var3 = var1[0].length;
      int var4 = 1;

      int var7;
      int var8;
      do {
         double var5 = Math.abs(var1[var4 - 1][var4 - 1]);
         var7 = var4 - 1;

         for(var8 = var4 - 1; var8 < var2; ++var8) {
            if (Math.abs(var1[var8][var4 - 1]) > var5) {
               var5 = Math.abs(var1[var8][var4 - 1]);
               var7 = var8;
            }
         }

         double var9;
         if (var7 != var4 - 1) {
            for(var8 = 0; var8 < var3; ++var8) {
               var9 = var1[var4 - 1][var8];
               var1[var4 - 1][var8] = var1[var7][var8];
               var1[var7][var8] = var9;
            }
         }

         for(var8 = var4; var8 < var2; ++var8) {
            if (var1[var4 - 1][var4 - 1] == 0.0D) {
               return (double[][])null;
            }

            var9 = var1[var8][var4 - 1] / var1[var4 - 1][var4 - 1];

            for(int var11 = 0; var11 < var3; ++var11) {
               var1[var8][var11] -= var9 * var1[var4 - 1][var11];
            }
         }

         ++var4;
      } while(var4 <= var1.length);

      var4 = var1.length - 2;

      double var6;
      int var12;
      do {
         for(var12 = var4; var12 >= 0; --var12) {
            if (var1[var4 + 1][var4 + 1] == 0.0D) {
               return (double[][])null;
            }

            var6 = var1[var12][var4 + 1] / var1[var4 + 1][var4 + 1];

            for(var8 = 0; var8 < var3; ++var8) {
               var1[var12][var8] -= var6 * var1[var4 + 1][var8];
            }
         }

         --var4;
      } while(var4 >= 0);

      for(var12 = 0; var12 < var2; ++var12) {
         var6 = var1[var12][var12];
         if (var6 == 0.0D) {
            return (double[][])null;
         }

         for(var8 = 0; var8 < var3; ++var8) {
            var1[var12][var8] /= var6;
         }
      }

      double[][] var14 = new double[var0.length][];

      for(int var13 = 0; var13 < var2; ++var13) {
         var14[var13] = new double[var2];

         for(var7 = 0; var7 < var2; ++var7) {
            var14[var13][var7] = var1[var13][var7 + var2];
         }
      }

      return var14;
   }

   public static double c(double[][] var0) {
      double var1 = 1.0D;
      double var3 = 0.0D;
      int var5 = var0[0].length;

      int var6;
      for(var6 = 0; var6 < var0[0].length - 1; ++var6) {
         int var7;
         int var8;
         if (var0[var6][var6] == 0.0D) {
            var7 = -1;

            for(var8 = var6 + 1; var8 < var5; ++var8) {
               if (var0[var8][var6] != 0.0D) {
                  var7 = var8;
                  break;
               }
            }

            if (var7 == -1) {
               return 0.0D;
            }

            for(var8 = var6; var8 < var0[0].length; ++var8) {
               var0[var6][var8] -= var0[var7][var8];
            }
         }

         for(var7 = var6 + 1; var7 < var0.length; ++var7) {
            var3 = var0[var7][var6] / var0[var6][var6];
            var0[var7][var6] = 0.0D;

            for(var8 = var6 + 1; var8 < var0[0].length; ++var8) {
               var0[var7][var8] -= var3 * var0[var6][var8];
            }
         }
      }

      for(var6 = 0; var6 < var0.length; ++var6) {
         var1 *= var0[var6][var6];
      }

      return var1;
   }
}
